Method of phrase verification with probabilistic confidence tagging

ABSTRACT

A method of phrase verification to verify a phrase not only according to its confidence measures but also according to neighboring concepts and their confidence tags. First, an utterance is received, and the received utterance is parsed to find a concept sequence. Subsequently, a plurality of tag sequences corresponding to the concept sequence is produced. Then, a first score of each of the tag sequences is calculated. Finally, the tag sequence of the highest first score is selected as the most probable tag sequence, and the tags contained therein are selected as the most probable confidence tags, respectively corresponding to the concepts in the concept sequence.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method of phrase verification, and particularly to a method of phrase verification in which a phrase is verified not only according to its own confidence measures as obtained from different methods, but also according to neighboring phrases and their confidence levels.

2. Description of the Related Art

In recent years, the application of speech recognition, as used in voice dialing in cellular phones and speech input in PDAs (personal digital assistants), has been generally used to help users access cellular phones and PDAs in a more convenient way, with operations closer to human nature.

Although substantial progress has been made in speech recognition over the last decade, speech recognition errors are still a major problem in such systems. The spontaneous utterances faced by a spoken dialogue system are frequently disfluent, noisy, or even out-of-domain. These characteristics seriously increase the chance of misrecognition and, consequently, degrade the performance of dialogue system. Therefore, verifying recognized words/phrases is vitally important for spoken dialogue systems.

In past research, two major approaches to word/phrase verification have been used. The first approach uses confidence measures to reject misrecognized words/phrases. The confidence measure of a word/phrase can be assessed by utterance verification or derived from the sentence probabilities of N-best hypotheses. Another approach uses classification models, such as decision tree and neural network, to label words with confidence tags. A confidence tag is either “acceptance” or “rejection”. The features used for classification are usually obtained from the intermediate results in the speech recognition and language understanding phases.

Although various kinds of information have been explored to assess the confidence measure or select the confidence tag for a word/phrase, the contextual confidence information is rarely leveraged. Since correct and incorrect words/phrases tend to appear consecutively, the confidence information of a word/phrase is helpful in assessing the confidence levels of its neighboring words/phrases.

For example, for spoken dialogue providing weather information, the word sequence “weather forecast” occurs frequently in users' queries. If the word “forecast” follows the word “weather” of high-level confidence, it is expected that the confidence level of the word “forecast” is also high. On the other hand, if the confidence level of the word “weather” is low, the confidence level of the word “forecast” is likely to be low.

In order to make use of the contextual confidence information, the invention discloses a novel probabilistic verification model to select confidence tags for concepts (i.e, meaningful phrases).

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide a method of phrase verification in which a phrase is verified not only according to its own confidence measures but also according to those of neighboring concepts. Using the present invention, a dialogue system can more accurately reject the incorrect concepts coming from speech recognition errors.

To achieve the above object, a first embodiment of the present invention provides a method of phrase verification with probabilistic confidence tagging.

First, an utterance is received, and the received utterance is parsed to find a concept sequence. Subsequently, a plurality of tag sequences corresponding to the concept sequence is produced. Then, a first score of each of the tag sequences is calculated. Finally, the tag sequence of the highest first score is selected as the most probable tag sequence, and the tags in the most probable tag sequence are selected as most probable confidence tags respectively corresponding to the concepts in the concept sequence.

Furthermore, a second embodiment of the present invention further assesses the confidence measure of each of the concepts in the concept sequence. Thereafter, a second score of each of the tag sequences is calculated based on the concepts in the concept sequence and the corresponding tags in the tag sequence. Then, the first score calculated in the first embodiment and the second score are proceeded a weighted calculation, thus a total score is acquired.

Finally, the tag sequence of the highest total score is selected as the most probable tag sequence, and the tags contained therein are selected as most probable confidence tags, respectively corresponding to the concepts in the concept sequence.

According to the present invention, the first score is the contextual confidence score and the second score is the confidence measure score.

Further scope of the applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings, which are given by way of illustration only, and thus are not limitative of the present invention, and wherein:

FIG. 1 is a flow chart illustrating the operation of a method of phrase verification with probabilistic confidence tagging according to the first embodiment of the present invention;

FIG. 2 is a flow chart illustrating the operation of a method of phrase verification with probabilistic confidence tagging according to the second embodiment of the present invention; and

FIG. 3 shows an example of acceptance probability versus confidence measure for the concept “Date”.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to the accompanying figures, the preferred embodiments of the present invention are described as follows.

[Overall Concepts]

Concept-based Speech Understanding

The concept-based approach has been widely adopted in dialogue systems to understand users' utterances. Instead of parsing a sentence completely, this approach uses partial parsing to segment a sentence into a sequence of phrases, called concepts. For example, the query “tell me the forecast in Taipei tonight” can be parsed to the concept sequence “Query Topic Location Date”. Each of the concepts may correspond to at least one word.

In general, the procedure of concept-based speech understanding consists of two phases. First, the word graph output from the speech recognizer is parsed into a concept graph according to a predefined grammar. Each path in the concept graph represents one possible concept sequence for the input utterance. Then, in the second phase, some stochastic language models, such as the stochastic context-free grammar and concept-bigram models, are used to find the most probable concept sequence. Since the concept-based approach does not require the input sentences to be fully grammatical, it is robust in handling the sentence hypotheses mixed with speech recognition errors.

Probabilistic Concept Verification

Although the concept-based approach is able to spot the concepts in a hypothetical sentence mixed with speech recognition errors, it is not able to detect whether the spotted concepts are correct or not. The role of the stochastic language model in the concept-based approach is to assess the relative possibilities of all possible concept sequences and select the most probable one. The scores obtained from the language model can be used for a comparison of competing concept sequences, but not for an assessment of the probability that a spotted concept is correct. However, due to imperfect speech recognition, there is always a possibility of incorrect concepts. To reduce the impact of speech recognition errors, a probabilistic verification model is proposed to detect the incorrect concepts in a concept sequence.

In a speech understanding system with concept verification, the user utterance is first recognized with a speech recognition module. A word graph is constructed to represent the possible sentence hypotheses for the input utterance. Then, a language understanding module parses the word graph to a concept graph according to a predefined grammar and selects the best concept sequence from the concept graph. The confidence levels of the concepts in the concept sequence will be optionally assessed by different confidence measurement modules. Finally, a concept verification module verifies every concept in the concept sequence with or without its confidence measures obtained from the optional confidence measurement modules.

The task of verifying concepts is regarded as labeling the concepts in a concept sequence with confidence tags. The set of confidence tags is a finite discrete set. It is designed according to application-specific needs. For most applications, the set is comprised of three tags: “acceptance”, “rejection”, and “void”. The first two tags are designated to the crucial concepts that are crucial for the interpretation of a user utterance and need to be verified. If a crucial concept is verified to be correct, it is labeled with the “acceptance” tag. Otherwise, it is labeled with the “rejection” tag. The “void” tag is designated to the filler concepts that are irrelevant to interpretation of a user utterance. Table 1 shows an example of the possible confidence tags for the concepts derived from the sentence “tell me the forecast in Taipei tonight”. In this example, the concept “Query” is a filler concept and the other concepts (“Topic”, “Location” and “Date”) are crucial concepts.

TABLE 1 Words tell me the forecast in Taipei tonight Concepts Query Topic Location Date Possible void acceptance acceptance acceptance tags rejection rejection rejection

Assume that X confidence measurement modules are available in the speech understanding system. C denotes the sequence of concepts to be verified and M_(i) denote its corresponding sequence of confidence measures provided by the i-th confidence measurement module. The labeling process is formulated to find the most probable tag sequence {circumflex over (T)} for the given concept sequence C and confidence measure sequences M_(l), . . . ,M_(X) as follows. $\begin{matrix} \begin{matrix} {\hat{T} = {\underset{T}{\arg\;\max}{P\left( {\left. T \middle| C \right.,M_{1},\cdots\mspace{11mu},M_{X}} \right)}}} \\ {= {\underset{T}{\arg\;\max}\frac{{P\left( {M_{1},\cdots\mspace{11mu},\left. M_{X} \middle| T \right.,C} \right)}{P\left( {T,C} \right)}}{P\left( {C,M_{1},\cdots\mspace{11mu},M_{X}} \right)}}} \\ {= {\underset{T}{\arg\;\max}{P\left( {M_{1},\cdots\mspace{11mu},\left. M_{X} \middle| T \right.,C} \right)}{P\left( {T,C} \right)}}} \end{matrix} & (1) \end{matrix}$

Where T denotes one possible tag sequence. Let C be comprised of n concepts and c_(i) denote the i-th concept. As a result, T is also comprised of n confidence tags. Let t_(i) denote the i-th tag in T and τ_(i) denotes the pair of c_(i) and t_(i). Then, the probability term P(T,C) in the above equation is rewritten as: $\begin{matrix} {{P\left( {T,C} \right)} = {{P\left( \tau_{l}^{n} \right)} = {{\prod\limits_{i = 1}^{n}{P\left( \tau_{i} \middle| \tau_{l}^{i - 1} \right)}} \approx {\prod\limits_{i = 1}^{n}{P\left( \tau_{i} \middle| \tau_{i - N + 1}^{i - 1} \right)}}}}} & (2) \end{matrix}$

Where τ₁ ^(n) is the shorthand notation for “τ₁, τ₂, . . . , τ_(n)” and N is a positive integer. In equation (1), the probability P(M_(l), . . . ,M_(X)|T,C) is further approximated as: $\begin{matrix} {{{P\left( {M_{1},\cdots\mspace{11mu},\left. M_{X} \middle| T \right.,C} \right)} \approx {\prod\limits_{h = 1}^{X}{P\left( {\left. M_{h} \middle| T \right.,C} \right)}}} = {{\prod\limits_{h = 1}^{X}{P\left( {\left. m_{h,1}^{h,n} \middle| t_{1}^{n} \right.,c_{1}^{n}} \right)}} \approx {\prod\limits_{h = 1}^{X}{\prod\limits_{i = 1}^{n}{P\left( {\left. m_{h,i} \middle| t_{i} \right.,c_{i}} \right)}}}}} & (3) \end{matrix}$

Where m_(h,i), denotes the confidence measure of c_(i) assessed by the h-th confidence measurement module. Because the probability P(m_(h,i)|t_(i),c_(i)) is hard to accurately estimate, it is rewritten as follows. $\begin{matrix} {{P\left( {\left. m_{h,i} \middle| t_{i} \right.,c_{i}} \right)} = \frac{{P\left( {\left. t_{i} \middle| m_{h,i} \right.,c_{i}} \right)}{P\left( {m_{h,i},c_{i}} \right)}}{P\left( {t_{i},c_{i}} \right)}} & (4) \end{matrix}$

Since the prior probability P(m_(h,i),c_(i)) is a constant, it can be ignored without changing the rank of competing tag sequences. According to the equations (2), (3) and (4), the equation (1) is rewritten as: $\begin{matrix} \begin{matrix} {{\hat{t}}_{1}^{n} = {\underset{t_{1}^{n}}{\arg\;\max}\left\{ {\prod\limits_{h = 1}^{X}{\prod\limits_{i = 1}^{n}{\frac{P\left( {\left. t_{i} \middle| m_{h,i} \right.,c_{i}} \right)}{P\left( {t_{i},c_{i}} \right)} \times {\prod\limits_{i = 1}^{n}{P\left( \tau_{i} \middle| \tau_{i - N + 1}^{i - 1} \right)}}}}} \right\}}} \\ {= {\underset{t_{1}^{n}}{\arg\;\max}\left\{ {{\sum\limits_{h = 1}^{X}{\sum\limits_{i = 1}^{n}{\log\;\frac{P\left( {\left. t_{i} \middle| m_{h,i} \right.,c_{i}} \right)}{P\left( {t_{i},c_{i}} \right)}}}} + {\sum\limits_{i = 1}^{n}{\log\;{P\left( \tau_{i} \middle| \tau_{i - N + 1}^{i - 1} \right)}}}} \right\}}} \\ {= {\underset{t_{1}^{n}}{\arg\;\max}\left\{ {{\sum\limits_{h = 1}^{X}S_{M,h}} + S_{c}} \right\}}} \end{matrix} & (5) \end{matrix}$

Where $S_{M,h} = {\sum\limits_{i = 1}^{n}{\log\;\frac{P\left( {\left. t_{i} \middle| m_{h,i} \right.,c_{i}} \right)}{P\left( {t_{i},c_{i}} \right)}}}$ is called the h-th confidence measure score and $S_{c} = {\sum\limits_{i = 1}^{n}{\log\;{P\left( \tau_{i} \middle| \tau_{i - N + 1}^{i - 1} \right)}}}$ is called contextual confidence score.

Due to the modeling error caused by approximations and the estimation error caused by insufficient training data, different kinds of scores have different discrimination powers. To enhance the overall discrimination power in choosing the most probable candidate, scores should be adequately weighted. Therefore, the following scoring function is defined to find the most probable sequence of confidence tags. $\begin{matrix} {{S\left( t_{1}^{n} \right)} = {{\sum\limits_{h = 1}^{X}{w_{M,h} \times S_{M,h}}} + {w_{c} \times S_{c}}}} & (6) \end{matrix}$

Where w_(M,l), . . . , w_(M,h) and w_(c) are weighting factors. The proposed scoring function still works even if no confidence measurement modules are available. In that case, the scoring function becomes S(t_(l) ^(n))=S_(c).

Confidence Measure Score Estimation

In general, the confidence measure is a real number. Therefore, the probability P(t_(i)|m_(h,i),c_(i)) cannot be reliably estimated by counting limited outcomes (t_(i),m_(h,i),c_(i)) Instead of directly counting, a probability curve fitting method is proposed to estimate P(t_(i)|m_(h,i),c_(i)). In this method, the outcomes of a particular concept are sorted by the value of confidence measure. Then, the sorted outcomes are split into groups of fixed size. Afterward, for every group, the acceptance probability and the mean of confidence measure are computed. In FIG. 3, every circle 400 represents the acceptance probability and the mean of confidence measure of a group of the concept “Date”. Finally, a polynomial f_(ci)(x) of degree 2 is found to fit the circles 400 in a least square error sense. This polynomial is used to compute P(t_(i)|m_(h,i),c_(i)) for every possible value of confidence measure as follows. $\begin{matrix} {{P\left( {\left. t_{i} \middle| m_{h,i} \right.,c_{i}} \right)} = \left\{ \begin{matrix} {\max\left( {0,{\min\left( {1,{f_{c_{i}}\left( m_{h,i} \right)}} \right)}} \right)} & {t_{i} = A} \\ {1 - {\max\left( {0,{\min\left( {1,{f_{c_{i}}\left( m_{h,i} \right)}} \right)}} \right)}} & {t_{i} = R} \end{matrix} \right.} & (7) \end{matrix}$

Where t_(i)=A means t_(i) is “acceptance” and t_(i)=R means t_(i) is “rejection”. The purpose of the functions max ( ) and min ( ) is to bound the value of P(t_(i)|m_(h,i),c_(i)) between 0 and 1.

[First Embodiment]

FIG. 1 shows a flow chart illustrating the operation of a method of phrase verification with probabilistic confidence tagging according to the first embodiment of the present invention. Referring to FIG. 1, the first embodiment of the present invention is described as follows.

In the first embodiment, there is no confidence measurement module available. First, in steps S110, a user utterance U is received, and in step S120, the received utterance is parsed to find a concept sequence C. In step S120, any one of the concept-based approaches can be used to find the concept sequence, as described above.

In this embodiment, assume that the user utterance U is “forecast in Taipei”, and the corresponding concept sequence C recognized after step 120 is “Topic Location”.

Then, in step S130, a plurality of tag sequences T are produced. Each of the tag sequence T includes a first tag t₁ corresponding to a first concept c₁ in concept sequence C, and a second tag t₂ corresponding to a second concept c₂ in concept sequence C. If the confidence tags is one of “acceptance” (denoted by “A”)or “rejection” (denoted by “R”). These tag sequences T can be “A,A”, “A,R”, “R,A”and “R,R”.

Subsequently, in step S140, for every tag sequence T, the contextual confidence score S_(c) (first score) is calculated. If the parameter N of the contextual confidence score S_(c) is set to 2, the score can be computed as follows: $\begin{matrix} {S_{c} = {{\sum\limits_{i = 1}^{2}{\log\;{P\left( \tau_{i} \middle| \tau_{i - 1} \right)}}} = {{\log\;{P\left( \tau_{1} \middle| \tau_{0} \right)}} + {\log\;{P\left( \tau_{2} \middle| \tau_{1} \right)}}}}} \\ {= {{\log\;{P\left( \tau_{1} \right)}} + {\log\;{P\left( \tau_{2} \middle| \tau_{1} \right)}}}} \\ {= {{\log\;{P\left( {c_{1},t_{1}} \right)}} + {\log\;{P\left( {c_{2},\left. t_{2} \middle| c_{1} \right.,t_{1}} \right)}}}} \end{matrix}$

For example, if the tag sequence T is “R,A”, the corresponding contextual confidence score S_(c) is, log P(Topic,R)+log P(Location,A|Topic,R)

In step S140, the object is to calculate the value of the equation (6) $\left( {{S\left( t_{1}^{n} \right)} = {{\sum\limits_{h = 1}^{X}{w_{M,h} \times S_{M,h}}} + {w_{c} \times S_{c}}}} \right)$ of each of the tag sequences T. Since there is no confidence measurement module available, the weighting factors w_(M,l), . . . ,w_(M,h) is set to 0 and w_(c) is set to 1, that is S(t_(i) ^(n))=S_(c).

Finally, in step S150, the tag sequence T of highest contextual confidence score S_(c) is selected as the most probable tag sequence {circumflex over (T)}, and the first tag t₁ and second tag t₂ in most probable tag sequence {circumflex over (T)} are selected as a first most probable tag {circumflex over (t)}₁ and a second most probable tag {circumflex over (t)}₂.

[Second Embodiment]

FIG. 2 shows a flow chart illustrating the operation of a method of phrase verification with probabilistic confidence tagging according to the second embodiment of the present invention. Referring to FIG. 2, the second embodiment of the present invention is described as follows.

In the second embodiment, there is at least one confidence measurement module available. First, in steps S210, a user utterance U is received, and in step S220, the received utterance is parsed to find a concept sequence C. Similarly, in step S220, any one of the concept-based approaches can be used to find the concept sequence, such as described above.

In this embodiment, also assume that the user utterance U is “forecast in Taipei”, and the corresponding concept sequence C recognized after step 220 is “Topic Location”.

Then, in step S230, the confidence measure of each of the concepts in concept sequence C is assessed by the confidence measurement module. The confidence measurement module can be established according to any one of the confidence measurement methods, such as the acoustic confidence measure. In this embodiment, assume that only one confidence measurement module is used, the parameter X in equation (6) is set to 1, and the confidence measure corresponding to a first concept c₁ in concept sequence C after step S230 is m_(l,1) and the confidence measure corresponding to a second concept c₂ in concept sequence C after step S230 is m_(l,2).

Then, in step S240, a plurality of tag sequences T are produced. Each of the tag sequence T includes a first tag t₁ corresponding to the first concept c₁, and a second tag t₂ corresponding to the second concept c₂. If the confidence tags is one of “acceptance” (denoted by “A”)or “rejection” (denoted by “R”). These tag sequences T can be “A,A”, “A,R”, “R,A” and “R,R”.

Subsequently, in step S250, for every tag sequence T, the contextual confidence score S_(c) (first score) is calculated. In step S250, the calculation of the contextual confidence score S_(c) is similar to the step S140 in the first embodiment.

Then, in step S260, for every tag sequence T, the confidence measure score S_(M,1) (second score) is calculated. For example, if the tag sequence T is “R,A”, the corresponding confidence measure score S_(M,1) is, $\begin{matrix} {S_{M,1} = {\sum\limits_{i = 1}^{2}{\log\;\frac{P\left( {\left. t_{i} \middle| m_{1,i} \right.,c_{i}} \right)}{P\left( {t_{i},c_{i}} \right)}}}} \\ {= {{\log\;\frac{P\left( {\left. R \middle| m_{1,1} \right.,{Topic}} \right)}{P\left( {R,{Topic}} \right)}} + {\log\;\frac{P\left( {\left. A \middle| m_{1,2} \right.,{Location}} \right)}{P\left( {A,{Location}} \right)}}}} \end{matrix}$

Thereafter, in step S270, a weighted calculation is proceeded on the contextual confidence score S_(c) and the confidence measure score S_(M,1), thus a total score S(₁ ^(n)) is acquired. In step S270, the object is to calculate the value of the equation (6) $\left( {{S\left( t_{1}^{n} \right)} = {{\sum\limits_{h = 1}^{X}{w_{M,h} \times S_{M,h}}} + {w_{c} \times S_{c}}}} \right)$ of each of the tag sequences T. The weighting factors W_(M,l), . . . , W_(M,h) and w_(c) can be adjusted for different specific cases.

Finally, in step S280, the tag sequence T of highest total score S(t₁ ^(n)) is selected as the most probable tag sequence {circumflex over (T)}, and the first tag t₁ and second tag t₂ in most probable tag sequence {circumflex over (T)} are selected as a first most probable tag {circumflex over (t)}₁ and a second most probable tag {circumflex over (t)}₂.

As a result, using the method of phrase verification according to the present invention, a phrase can be verified not only according to its acoustic confidence measure but also according to neighboring concepts and their confidence tags. Using the present invention, a dialogue system can more accurately reject the incorrect concepts from speech recognition errors.

Although the present invention has been described in its preferred embodiment, it is not intended to limit the invention to the precise embodiment disclosed herein. Those who are skilled in this technology can still make various alterations and modifications without departing from the scope and spirit of this invention. Therefore, the scope of the present invention shall be defined and protected by the following claims and their equivalents. 

1. A method of phrase verification with probabilistic confidence tagging, comprising the steps of: receiving an utterance; parsing the received utterance to find a concept sequence, in which the concept sequence comprises a plurality of concepts, each corresponding to at least one word in the utterance; producing a plurality of tag sequences corresponding to the concept sequence, in which each of the tag sequences comprises a plurality of tags, each indicating whether the corresponding concept is required to be verified, and corresponding possible verification results; calculating a first score of each of the tag sequences based on a probability corresponding to the tags therein; and selecting the tag sequence of the highest first score as a most probable tag sequence, and selecting the tags in the most probable tag sequence as most probable confidence tags.
 2. The method as claimed in claim 1, wherein the tag has a binary value, respectively representing acceptance and rejection.
 3. The method as claimed in claim 1, wherein the tag has multiple values, respectively representing different levels of confidence.
 4. The method as claimed in claim 1, wherein the first score is a contextual confidence score.
 5. A method of phrase verification with probabilistic confidence tagging, comprising the steps of: receiving an utterance; parsing the received utterance to find a concept sequence, in which the concept sequence comprises a plurality of concepts, each corresponding to at least one word in the utterance; assessing at least one confidence measure of each of the concepts in the concept sequence; producing a plurality of tag sequences corresponding to the concept sequence, in which each of the tag sequences comprises a plurality of tags, each indicating whether the corresponding concept is required to verify, and corresponding possible verification results; calculating a first score of each of the tag sequences based on the probability corresponding to the tags therein; calculating a second score of each of the tag sequences; proceeding a weighted calculation on the first score and second score, thus a total score is acquired; and selecting the tag sequence of the highest total score as a most probable tag sequence, and selecting the tags in the most probable tag sequence as most probable confidence tags.
 6. The method as claimed in claim 5, wherein the tag has a binary value, respectively representing acceptance and rejection.
 7. The method as claimed in claim 5, wherein the tag has multiple values, respectively representing different levels of confidence.
 8. The method as claimed in claim 5, wherein the first score is a contextual confidence score.
 9. The method as claimed in claim 5, wherein the second score is computed from a set of confidence measure scores. 